﻿using Sinacor.UI.Bovespa.Ordens.Communication.Bovespa.Ordens.Ordem;
using Sinacor.Infra.UI.Common;
using System.Collections.Generic;
using Sinacor.Infra.Common;
using System;

namespace Sinacor.UI.Bovespa.Ordens.Communication.Translator
{
    class TranslateConsultarOrdemDistribuicaoOrdem
    {
        public Communication.Bovespa.Ordens.Ordem.ConsultarOrdemDistribuicaoOrdem ToRequest(Model.Parameter.ConsultarOrdemDistribuicaoOrdem pConsultarOrdemDistribuicaoOrdem)
        {
            ConsultarOrdemDistribuicaoOrdem consultar = new ConsultarOrdemDistribuicaoOrdem();

            consultar.ApelidoCliente = pConsultarOrdemDistribuicaoOrdem.ApelidoCliente;
            consultar.CodigoBolsa = pConsultarOrdemDistribuicaoOrdem.CodigoBolsa;
            consultar.CodigoNegocio = pConsultarOrdemDistribuicaoOrdem.CodigoNegocio;

            if (!pConsultarOrdemDistribuicaoOrdem.IsDiscricionaria.HasValue)
                consultar.IsDiscricionaria = false;
            else
                consultar.IsDiscricionaria = pConsultarOrdemDistribuicaoOrdem.IsDiscricionaria.Value;

            if (pConsultarOrdemDistribuicaoOrdem.DataPregao != null)
                consultar.DataPregao = pConsultarOrdemDistribuicaoOrdem.DataPregao.Value;

            if (pConsultarOrdemDistribuicaoOrdem.DataOrdem != null)
                consultar.DataOrdem = pConsultarOrdemDistribuicaoOrdem.DataOrdem.Value;

            if (pConsultarOrdemDistribuicaoOrdem.NaturezaOperacao != null)
                consultar.NaturezaOperacao = (Communication.Bovespa.Ordens.Ordem.TipoNaturezaOperacao)pConsultarOrdemDistribuicaoOrdem.NaturezaOperacao.Value;

            if (pConsultarOrdemDistribuicaoOrdem.NumeroOrdem != null)
                consultar.NumeroOrdem = pConsultarOrdemDistribuicaoOrdem.NumeroOrdem.Value;

            if (pConsultarOrdemDistribuicaoOrdem.NumeroSubSequencia != null)
                consultar.NumeroSubSequenciaOrdem = pConsultarOrdemDistribuicaoOrdem.NumeroSubSequencia.Value;

            if (pConsultarOrdemDistribuicaoOrdem.PrazoTermo != null)
                consultar.PrazoTermo = pConsultarOrdemDistribuicaoOrdem.PrazoTermo;

            return consultar;
        }
    }
}
